<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"            
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">

        <ui:define name="contenido">          
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">        
                <p:panel id="pgFormFilter" header="#{i18n['panel.titulo.parametros.sistema']}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid columns="10" cellspacing="5">
                        <h:outputLabel value="#{i18n['general.label.id']}" styleClass="label"/>
                        <p:inputText label="#{i18n['general.label.id']}" 
                                     value="#{parametroMBean.dtoFiltro.id}"  onkeypress="return fn_validaTecla('entero',this)"
                                     styleClass="txtCampo" size="15">                            
                        </p:inputText>  

                        <h:outputLabel value="#{i18n['parametro.descripcion']}" styleClass="label"/>
                        <p:inputText label="#{i18n['parametro.descripcion']}" 
                                     value="#{parametroMBean.dtoFiltro.descripcion}" 
                                     styleClass="txtCampo" size="60">
                            <f:validateLength maximum="200" />
                        </p:inputText> 

                        <h:outputLabel styleClass="label" value="#{i18n['parametro.catalogoDto']}"/>
                        <h:panelGrid columns="2">
                            <p:selectOneMenu value="#{parametroMBean.dtoFiltro.catalogoDto}"  converter="catalogoConvert"                                     
                                             styleClass="txtCampoObligatorio"
                                             disabled="#{sessionMBean.accion == applicationMBean.ver}">
                                <f:selectItems value="#{parametroMBean.listaCatalogosBusquedaSistema}" var="dto" itemLabel="(#{dto.tipoDesc}) #{dto.nombre}" itemValue="#{dto}" />                        
                            </p:selectOneMenu>                            
                        </h:panelGrid>


                        <h:outputLabel styleClass="label" value="#{i18n['general.label.activo']}"/>                    
                        <p:selectBooleanCheckbox value="#{parametroMBean.dtoFiltro.estado}"  styleClass="txtCampo" />
                    </h:panelGrid>
                    <f:facet name="footer">

                        <p:commandButton icon="ui-icon ui-icon-search" title="#{i18n['general.button.buscar.filtro.tip']}" accesskey="#{applicationMBean.keyBuscar}"
                                         value="#{i18n['general.button.buscar.filtro']}" ajax="false" 
                                         style="#{applicationMBean.estilosBtnBuscar}"  
                                         actionListener="#{parametroMBean.buscarSistema}">
                            <f:ajax  render="pnlTabla pgFormFilter"/>
                        </p:commandButton>  

                        <p:commandButton title="#{i18n['general.button.nuevo.tip']}" accesskey="#{applicationMBean.keyNuevo}"
                                         icon="ui-icon ui-icon-plus"
                                         style="#{applicationMBean.estilosBtnNuevo}" 
                                         value="#{i18n['general.button.nuevo']}" 
                                         ajax="false"                                        
                                         action="#{parametroMBean.nuevo}">                                    
                        </p:commandButton>   
                        <p:spacer width="20" />
                        <h:outputText  value="#{parametroMBean.lista.size()} #{i18n['form.general.mensaje.cantidad.encontrada']}" styleClass="mensaje" rendered="#{parametroMBean.lista!=null}"/>
                    </f:facet>
                </p:panel>  




                <p:panel id="pnlTabla" header="#{i18n['general.panel.titulo.busqueda.resultado']}"  style="#{applicationMBean.estiloTitulo}" rendered="#{parametroMBean.lista!=null &amp;&amp;parametroMBean.lista.size()>0}">
                    <div class="info_busqueda">
                        <h:panelGrid styleClass="tabla_dinam">
                            <p:dataTable id="tblPrincipal" value="#{parametroMBean.lista}" var="dto" paginatorPosition="top"                                     
                                         paginator="true" rows="#{sessionMBean.cantidadRegistros}"  widgetVar="widTable">                        
                                <p:column style="text-align:center;">   
                                    <h:panelGrid columns="10" cellspacing="5" styleClass="estiloPanelGrid">
                                        <p:commandButton icon="ui-icon ui-icon-search" title="#{i18n['general.button.ver.tip']}"
                                                         action="#{parametroMBean.ver}" ajax="false">
                                            <f:setPropertyActionListener value="#{dto}" target="#{parametroMBean.dto}" />                                                                    
                                        </p:commandButton>
                                        <p:commandButton icon="ui-icon ui-icon-pencil" title="#{i18n['general.button.editar.tip']}"
                                                         action="#{parametroMBean.editar}" ajax="false">
                                            <f:setPropertyActionListener value="#{dto}" target="#{parametroMBean.dto}" />                                                                    
                                        </p:commandButton>

                                    </h:panelGrid>

                                </p:column>

                                <p:column headerText="#{i18n['general.label.id']}"  styleClass="general">
                                    <h:outputText value="#{dto.id}" styleClass="general" />
                                </p:column>                            
                                <p:column headerText="#{i18n['parametro.descripcion']}" styleClass="general">
                                    <h:outputText value="#{dto.descripcion}" styleClass="general" />
                                </p:column>
                                <p:column headerText="#{i18n['parametro.descripcionCorta']}" styleClass="general">
                                    <h:outputText value="#{dto.descripcionCorta}" styleClass="general" />
                                </p:column>
                                <p:column headerText="#{i18n['parametro.catalogoDto']}" styleClass="general">
                                    <h:outputText value="#{dto.catalogoDto.nombre} (#{dto.catalogoDto.tipoDesc})" styleClass="general" />
                                </p:column>
                                <p:column headerText="#{i18n['parametro.parametroPadreDto']}" styleClass="general">
                                    <h:outputText value="#{dto.descripcionParametroPadreN1}" styleClass="general" />
                                </p:column>
                                <p:column headerText="#{i18n['parametro.valorBoolean']}" styleClass="general">
                                    <p:selectBooleanCheckbox value="#{dto.valorBoolean}">  
                                        <p:ajax update=":msgs, :frmPrincipal:pnlTabla" listener="#{parametroMBean.edicionTabla(dto)}"/>  
                                    </p:selectBooleanCheckbox> 
                                </p:column>
                                <p:column headerText="#{i18n['parametro.valorCadena']}" styleClass="general">
                                    <p:inplace id="ajaxInplace1" editor="true" emptyLabel="#{i18n['general.empty.label']}">  
                                        <p:inputText  label="#{i18n['parametro.valorCadena']}" style="#{applicationMBean.estiloObligatorio}"
                                                      value="#{dto.valorCadena}" size="10" >
                                            <f:validateLength maximum="200" minimum="0" />
                                        </p:inputText>  
                                        <p:ajax event="save" listener="#{parametroMBean.edicionTabla(dto)}" update=":msgs, :frmPrincipal:pnlTabla" />
                                    </p:inplace>
                                </p:column>
                                <p:column headerText="#{i18n['parametro.valorEntero']}" styleClass="general">
                                    <p:inplace id="ajaxInplace2" editor="true" emptyLabel="#{i18n['general.empty.label']}">  
                                        <p:inputText  label="#{i18n['guia.remision.deta.cantidad']}" style="#{applicationMBean.estiloObligatorio}"
                                                      value="#{dto.valorEntero}" onkeypress="return fn_validaTecla('entero',this)" size="10" >
                                            <f:validateLength  maximum="9" />
                                        </p:inputText>  
                                        <p:ajax event="save" listener="#{parametroMBean.edicionTabla(dto)}" update=":msgs, :frmPrincipal:pnlTabla" />
                                    </p:inplace>
                                </p:column>
                                <p:column headerText="#{i18n['parametro.valorReal']}" styleClass="general">
                                    <p:inplace id="ajaxInplace3" editor="true" emptyLabel="#{i18n['general.empty.label']}">  
                                        <p:inputText id="itCantidad" label="#{i18n['guia.remision.deta.cantidad']}" style="#{applicationMBean.estiloObligatorio}"
                                                     value="#{dto.valorReal}"  readonly="#{sessionMBean.accionDetalle == applicationMBean.ver}"
                                                     onkeypress="return fn_validaTecla('decimal',this)" size="10" >
                                            <f:validateLength maximum="9" />
                                            <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                                        </p:inputText>  
                                        <p:ajax event="save" listener="#{parametroMBean.edicionTabla(dto)}" update=":msgs, :frmPrincipal:pnlTabla" />
                                    </p:inplace>
                                </p:column>
                                <p:column headerText="#{i18n['parametro.valorFecha']}" styleClass="general">
                                    <p:inplace id="ajaxInplace4" editor="true" emptyLabel="#{i18n['general.empty.label']}">  
                                        <p:calendar value="#{dto.valorFecha}"  label="#{i18n['parametro.valorFecha']}" pattern="#{applicationMBean.formatoFecha}"  
                                                    style="#{applicationMBean.estiloObligatorio}"> 
                                            <f:convertDateTime pattern="#{applicationMBean.formatoFecha}"  timeZone="#{applicationMBean.timeZone}"/> 
                                        </p:calendar> 
                                        <p:ajax event="save" listener="#{parametroMBean.edicionTabla(dto)}" update=":msgs, :frmPrincipal:pnlTabla" />
                                    </p:inplace>
                                </p:column>
                                <p:column headerText="#{i18n['general.label.activo']}"  styleClass="general">
                                    <h:outputText value="#{dto.estado}" styleClass="general"/>                        
                                </p:column>                            
                            </p:dataTable>        
                        </h:panelGrid>
                    </div>
                </p:panel>


            </h:form>
        </ui:define>
    </ui:composition>
</html>